home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Network Support Library
/
RoseWare - Network Support Library.iso
/
unix
/
lwprpl.txt
< prev
next >
Wrap
Internet Message Format
|
1991-07-04
|
9KB
Date: Tue, 2 Jul 91 12:42:18 PDT
Reply-To: Novell LAN Interest Group <NOVELL%SUVM.BITNET@uga.cc.uga.edu>
From: Brian Meek <brian%CA.NOVELL.COM@uga.cc.uga.edu>
Subject: Re: LAN WorkPlace on a server
X-To: novell@suvm.acs.syr.edu
To: Multiple recipients of list NOVELL <NOVELL@SUVM>
In-Reply-To: <9106272043.AA02101@newsun.novell.com>; from "BARKER" at Jun 27,
91 4:37 pm
Status: OR
Once upon a time, Scott Barker wrote:
> Could anoyone share with us what "clever" work we have to do to run Lan
> Workplace from a server volume? I just installed it on a single PC and it
> took a fair amount of time. Our campus has the education site license so
> I'd like to install it on a bunch of machines. Putting things on the
> server once would obviously save a LOT of work. From Brian's message it
> sounds like just copying the files to directories on the server isn't
> sufficient. What else needs to be done?
Since then, numerous others have reiterated the question...
I really haven't meant to avoid this issue, but I was hoping to get the
time to write up this procedure in a very detailed and concise fashion...
Since I have no such time, here's a quick shot at it to point people in
the right direction.
First, a few basics about LAN WorkPlace for DOS and its underlying TCP/IP
stack. All of the executable files in the package are placed by the
install procedure in DRIVE_LETTER:\XLN\BIN40. All of these files can be
placed in a read-only public directory and mapped to a NetWare search
drive.
Additional files that contain application default values and various
(possibly user and station specific) configuration values are found in a
collection of directories under DRIVE_LETTER:\XLN and, this is key: are
located by the environment variable "EXCELAN". For example, on my
system, the EXCELAN environment variable is set to "C:\XLN", and the
following files are found and used by the applications:
C:\XLN\TCP\RESOLV.CFG DNS server list.
C:\XLN\TCP\HOSTS Host database
C:\XLN\HSTACC\PRINT.CFG Database of Host printers for rpr.
Other (user-specific) files would be located in %EXCELAN%\PROFILE or
%EXCELAN%\HSTACC. The point is that all non-executable configuration
files are located by the applications via a pointer to the LWP "root"
directory stored in the "EXCELAN" environment variable.
Thus, all of the files found in %EXCELAN%\BIN40 can be placed in say;
"SYS:PUBLIC/LWP" and be shared. User specific files should be in a
personal directory identified by the EXCELAN environment variable, but
may be anywhere on any server.
Now. All of this is relevant only after the TCP/IP protocol stack (and
underlying ODI drivers) are loaded. This is where the trickier (perhaps
tedious) elements of server-based installation of LWP come in. All of
the ODI drivers, the IPXODI protocol stack, the NetWare shell, and the
TCP/IP protocol stack, all get configuration info from the NET.CFG file.
The TCP/IP stack gets the following (usually station-specific)
information from the NET.CFG file:
Protocol TCPIP
ip_address 130.57.11.33
ip_netmask 255.255.252.0
ip_router 130.57.8.254
tcp_sockets 8
udp_sockets 8
raw_sockets 1
nb_sessions 4
nb_commands 8
nb_adapter 0
nb_domain
In most cases, only the IP_ADDRESS field will be unique from PC to PC,
though it is conceivable that other values here will be different as
well. The basic approach is to create a generic NET.CFG with *none* of
this IP-specific information in it, and distribute it to all
workstations' on floppy disk or include it in a diskless-boot image via
DOSGEN. A generic NET.CFG file might look like this:
# Options from SHELL.CFG
SHOW DOTS = on
FILE HANDLES = 60
Link Support
Buffers 4 1500
MemPool 2048
Link Driver NE2000
INT #1 5
PORT 360
Frame Ethernet_II
Protocol IPX 8137 Ethernet_II
# Frame Ethernet_802.3
# Protocol IPX 0 Ethernet_802.3
Of course, this "generic" NET.CFG assumes that all PC's have NE2000's
with the same hardware settings, but you get the idea.
The first ODI driver to read this NET.CFG file is the Link Support Layer
(LSL.COM). This example allocates a mempool and some buffers to the LSL
(not required by IPXODI.COM) that will later be required by TCPIP.EXE.
Also note that the "Link Driver NE2000" section has the requisite
"Ethernet_II" frame format specified for IP.
After the LSL reads the NET.CFG file, all subsequent ODI drivers and
protocol stacks will look for the NET.CFG file in the same drive and
directory that the LSL found it in originally (although some drivers will
instead read a NET.CFG that is located in the default directory at load
time). This means that the NET.CFG file with the node-specific TCP/IP
values must be placed in the same location (in terms of drive letter and
path) as LSL.COM was loaded from. So, In the case of a diskless PC
booting from a NetWare server, the BOOT image is placed in a virtual disk
A:. An autoexec.bat file for remote booting diskless workstations would
look like this:
prompt $p$g (etc...)
lsl
rplodi
ne2000
ipxodi
netx
Pretty basic, isn't it? Well, on this diskless PC, the LSL has been
loaded from a virtual image of drive A:\. Thus, when TCPIP.EXE is
loaded, it will look to the NET.CFG on A:\ because that is where the LSL
originally found it (yes, future versions will have a command-line
override for this). So now the System Login Script or a subsequently
executed batch file must be set up to map "A:\" to a directory on the
server where a unique NET.CFG exists with the TCP/IP information for that
node. This would be an example of such a login script:
IF "%P_STATION" = "00001B30B57B" then map root a:=vol1:node_1
IF "%P_STATION" = "00001B323EFB" then map root a:=vol1:node_2
IF "%P_STATION" = "00001B356BE2" then map root a:=vol1:node_3
DOS SET ADDR="%P_STATION"
You get the idea... The final line would assign the PC's physical node
address to the DOS environment variable "ADDR". With this approach, one
could leave all of the "IF...THENs" out of the System Login Script and
construct a batch file that does the job:
IF %ADDR%==00001B30B57B then map root a:=vol1:node_1
IF %ADDR%==00001B323EFB then map root a:=vol1:node_2
(etc).
Using this batch file approach, the System Login script does not need to
force every machine through a long series of IF statements upon login.
One can easily apply this approach to machines having only floppy drives,
though to conserve later access to the physical floppy, one may wish to
load LSL, etc from a substituted drive G: or something:
subst g: a:\net
g:
lsl
ne2000
ipxodi
netx
a:
subst g: /d
(etc)
Later, when it's time to load TCP/IP from the server... A batch file or
login script similar to those described above can map G: to the station
specific directory.
As I said in an earlier posting, the installation of LAN WorkPlace on a
server is not impossible, but it needs to be done manually and it takes
someone who understands NetWare login scripts and perhaps batch file
programming. What I've described here works reliably, and in some cases
may even be preferable to entering IP address into NET.CFG files at every
node...
I should also note that this whole procedure can be simplified with the
presence of a RARP server; if the IP_ADDRESS field in NET.CFG is all 0s
or is blank, the TCP/IP stack will attempt to learn its' IP address
via RARP.
Lastly, you can all imagine that we've given some serious thought about
making all of this a much more manageable process in a future release of
LAN WorkPlace for DOS :-).
Good luck with it,
-- brian
____________________________________________________________________________
Brian Meek Novell, Inc. - 2180 Fortune Dr. San Jose, CA 95131
Internet Mail: brian@novell.COM Phone: (408) 473-8375